package com.ruoyi.partybuilding.domain;

import com.easy.query.core.enums.RelationTypeEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.partybuilding.common.EQuery.CreateByEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import lombok.Data;
import com.easy.query.core.annotation.*;

/**
 * 执行详情;
 * @author : He-LiangLiang@Outlook.com
 * @date : 2025-3-4
 */
@ApiModel(value = "执行详情",description = "")
@Table("pb_release_details")
@Data
public class ReleaseDetails extends CreateByEntity.LongId implements Serializable,Cloneable{

    /** 所需任务 */
    @ApiModelProperty(value = "所需任务",notes = "")
    @EasyWhereCondition(type = EasyWhereCondition.Condition.EQUAL)
    private Long releaseTaskId ;
    /** 标题 */
    @EasyWhereCondition()
    @ApiModelProperty(value = "标题",notes = "")
    private String title ;
    /** 内容 */
    @ApiModelProperty(value = "内容",notes = "")
    private String content ;
    /** 阶段：0未知，1申请、20审批、30发榜、40揭榜、50攻榜、61评价、62奖励 */
    @ApiModelProperty(value = "阶段：0草稿，1申请中(寻榜)、20审批通过(定榜)、21审批驳回、30发榜、40揭榜、50攻榜、60完成、61评榜、62奖榜、63用榜",notes = "")
    @EasyWhereCondition(type = EasyWhereCondition.Condition.EQUAL)
    private Integer stage ;
    /** 附件 */
    @ApiModelProperty(value = "附件",notes = "")
    private String files ;
    @ApiModelProperty(value = "昵称",notes = "")
    @EasyWhereCondition()
    private String nikename ;
    /** 创建人 */
    @ApiModelProperty(value = "创建人",notes = "")
    private String createBy ;
    /** 创建时间 */
    @ApiModelProperty(value = "创建时间",notes = "")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @EasyWhereCondition(type = EasyWhereCondition.Condition.RANGE_LEFT_CLOSED)
    private Date createTime ;
    @Navigate(value = RelationTypeEnum.ManyToOne,targetProperty = "id", selfProperty = "releaseTaskId")
    ReleaseTask task;
    @ApiModelProperty(value = "创建时间2，查询使用",notes = "")
    @EasyWhereCondition(type = EasyWhereCondition.Condition.RANGE_RIGHT_CLOSED,propName = "createTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ColumnIgnore
    Date createTime2;
}
